This document provides an overview of the CMP 8.6 release with specific focus on the additional functional and non-functional enhancements with respect to CMP 8.5.
1.2 Audience
This document is aimed at internal and external audiences familiar with CMP, to explain the key features of the release including any changes in how existing functions or processes are working.
2 - Overview of Changes
With respect to CMP 8.5, CMP 8.6 introduces new functionality as well as changes to existing functionality and non-functional improvements. These changes can be summarised as follows:
2.1 - New Functionality
2.1.1 - Online Payments
In CMP 8.5, it was not possible to register a new card through AgentView meaning that an account could not be directly created with a card payment type and also, new cards could not be added to an account using the AgentView interface.
CMP 8.6 provides a means of registering a new card through AgentView. When registering a card, the user is now redirected to the card details splash page, provided by the integrated payment gateway, to enter card details.
Once authenticated and registered, the basic card details are stored in CMP along with the registration token provided by the payment gateway.
The new card registration functionality is invoked at the end of the Account Creation Wizard, if a card payment type was selected as part of the creation process, to register an active card against the new account.
Changing to a card payment type on the account now provides an option to either select an existing registered card to use for bill payments, or register a new card.
A new card can also be registered through the right-click shortcut option to add a card on the Credit/Debit Cards lower panel.
2.1.2 - Payment Reversal
In CMP 8.5, it was not possible to reverse a payment that had been applied incorrectly to an account.
The outstanding balance would need to be manually adjusted using a Sales Ledger Adjustment.
CMP 8.6 now provides the ability to fully reverse a payment on an account that had previously been made in error.
A reversed payment appears in the Payments lower panel as a 'Failed' payment with an error description of 'Manually Reversed'.
It should be noted that the incorrect payment is not automatically returned to the customer, but instead a manual refund is necessary to re-credit the customer.
2.1.3 - Anonymity Request
The introduction of the EU GDPR legislation mandates that a customer has the right to request that their data held by an enterprise be anonymised.
As a result of this, CMP 8.6 now provides a means by which a Customer Services Agent can request data anonymity on behalf of the end customer.
This request can either be made at the point of disconnection, or can be requested at a later date.
Anonymity requests are processed by the Consumer Purge job.
2.1.4 - Archive Management
In CMP 8.5, certain tables that contain large volumes of transactional data were periodically partitioned to allow old transactional data to be dropped once outside of any required retention period.
The dropping of these partitions was a manual action performed by a qualified Database Administrator.
CMP 8.6 introduces a new Archive Management job that will optionally archive and drop customer transaction data partitions that are older than a calculated retention period.
The job initially focuses on the Prepaid Usage and Prepaid Usage Allowance partitions.
2.1.5 - System Activity Purge
A new purge job has been introduced in CMP 8.6 to purge system (non-business) transaction tables based on a calculated retention period.
The Network Request Log, Network Request Log History records and corresponding Network Activity Log records, Activity records, Audit Header and corresponding Audit Detail records and spring batch job execution records, including corresponding child records, are all purged by this new job.
2.2 - Changed Functionality
2.2.1 - Invoice Reversal
In CMP 8.5, the Financials menu option on the Account Event Summary screen provided a menu option to reverse an invoice either partially or in full.
This was not intuitive so in CMP 8.6, this capability has been moved to the Account Transactions lower panel. Two new right-click shortcut options have been added to partially or fully reverse an invoice.
2.2.2 - Data Warehouse Extract Jobs
In CMP 8.5, the data warehouse extract jobs extracted data based on the time the job was run.
This caused issues when trying to reconcile the extracts as data in one extract may not be aligned with the associated data in another extract as the two extracts were run at different times.
In order to avoid this situation all data warehouse extracts now align to midnight on the previous day.
2.2.3 - Web Services Changes
RESTful Web Services
CMP 8.5 provides a GET Payments RESTful web service to get a list of payments against an account. No web service was provided to just return the details of a single payment, identified by its payment identifier.
CMP 8.6 now provides this web service.
Other RESTful web service changes are detailed below.
SOAP Web Services
The AddRegisteredCard SOAP service in CMP 8.5 allowed an external system to add a new 'Active' card, add a 'One-off' card or replace an 'Active' card with another.
In CMP 8.6, additional validation has been included to teh request as described below.
Other SOAP web service changes are also detailed below.
3 - Impacts on CMP
The functional and non-functional changes highlighted in section 2 above have had an impact CMP in the following areas:
New and changed AgentView screens
Bulk Action changes
Admin Console changes
New and changed Business Configuration screens
SOAP web services changes
RESTful web services changes
Integration adapter changes
Openet-specific adapter changes
Lifecycle-specific adapter changes
UK-specific adapter changes.
3.1. AgentView
3.1.1. New Screens
Account Summary Panel
In CMP 8.5, it was not possible to change an account to a card payment type if there was no active card registered against the account.
In CMP 8.6, after clicking on the Payment Type hyperlink on the Account Summary top panel, the user is now presented with the option to change to a payment type of 'Credit/Debit Card Payment'.
Select Card Details
If a card payment type is selected the user can choose an existing registered card or choose to register a new card.
If the user chooses to select an existing card, then the Select Existing Card screen is displayed showing the available registered cards.
Select Existing Card
Selecting to register a new card redirects the user to the card details screen provided by the integrated payment provider.
Once an existing card is selected, or a new card is registered successfully, then the payment type is changed to a card payment type.
3.1.2. Changed Screens
Account Creation Wizard
In CMP 8.5 it was not possible to directly create an account with a card payment type. An account needed to be created with a manual payment type, a card registered against the account and then the payment type changed to 'Card'.
In CMP 8.6 this process has now changed such that, if a payment type of card is selected for the account, then on completing the account creation, the user is redirected to enter card details.
Once confirmed, the card details are registered against the account.
Account Summary Panel
In CMP 8.5, the Account Summary screen in AgentView did not show the previous statement amount meaning an agent would not know what the last bill amount was for a customer when they contact the call centre. This has now been added as the 'Previous Balance' field in the Account Summary top panel as part of CMP 8.6.
Credit/Debit Cards Lower Panel
In CMP 8.5, it was not possible to add a new payment card through AgentView as the right-click 'Add' shortcut option was disabled.
In CMP 8.6, it is now possible to register a new card. On selecting the Add shortcut option from the Credit/Debit Card lower panel, the user is redirected to the card details screen provided by the integrated payment provider. If the card is registered successfully then a one-off card is created against the account.
Payments Lower Panel
The Payments lower panel that is accessible from the Financials -> Payments menu option at Account level has been enhanced to include an additional right-click shortcut option, 'Reverse Payment', to allow a payment to be fully reversed.
The right click option is only available for payments whose status is 'Complete'. Only agents who have the 'reverse-payments' role as part of their profile can reverse payments.
A reversed payment appears in the Payments lower panel as a 'Failed' payment with an error description of 'Manually Reversed' and a reversal transaction is created in the Sales Ledger.
In addition, the 'Description' column has been changed to be 'Remark' as the field is populated from the remark against the payment.
A new column, 'Error Description', has been added on the far right of the table that is populated from the Error Description field of the Payment record. Reversing a payment populates this field.
Account Event Summary Panel
In CMP 8.5, the Financials menu option on the Account Event Summary screen provided a menu option to reverse an invoice either partially or in full.
In CMP 8.6, this capability has been moved from the Account Event Summary screen to the Financial -> Transactions menu option under the account.
Two new right-click shortcut options have been added: 'Reverse Full Invoice' and 'Reverse Part Invoice'.
These options are only available for users with profiles that are authorised to make full or partial invoice adjustments and providing the invoice amount is non-zero.
Partial Invoice Reversal
When selecting to partially reverse an invoice, the user is presented with the Adjust Invoice Lines popup that allows one or more invoice lines to be selected.
On confirmation, a workflow event is raised against the account with the corresponding sales ledger adjustments, one for each invoice line reversed.
The workflow event that is automatically created is defined in the workflow properties file with a property name of invoice.reversal.event.
Depending on how the workflow is configured, it will either be automatically processed or will need to be manually processed. Once an invoice line has been reversed, it can not be reversed again.
The status of the reversal is now shown against the invoice in the final column of table on the Account Financial Transactions lower panel as well as against each invoice detail line and the corresponding sales ledger adjustment.
Reverse Partial Invoice
Full Invoice Reversal
Full invoice reversal works in a similar way to partially reversing an invoice except that the Adjust Invoice Lines popup is not shown and all invoice detail lines are used to create corresponding sales ledger adjustments on the raised workflow event.
Subscription Summary Panel
The introduction of the EU GDPR legislation mandates that a customer has the right to request that their data held by an enterprise be anonymised.
As a result of this, CMP 8.6 now provides a means by which an agent can request data anonymity on behalf of the end customer.
The data is subsequently purged and anonymised by the Consumer Purge job as outlined below.
The Subscription Summary screen now provides an 'Anonymised' hyperlink that indicates if anonymity has been requested and, if so, whether the request is pending or has been processed.
The processed date is shown for processed anonymity requests. The new hyperlink is only active if the subscription has a disconnected date and if anonymity has not already been requested.
Anonymity Request Hyperlink
If the hyperlink is active, clicking on the hyperlink displays the Anonymity Request confirmation message. Pending anonymity requests are processed by the Consumer Purge job.
Anonymity Request Confirmation
Subscription Allowances Panels
In CMP 8.5, when connected to the Openet OCS, ended allowances were not shown as ended in CMP as the allowance balance is not ended in the OCS but instead the allowance itself is.
In CMP 8.6, the end date of the allowance is now shown instead of the balance end date on both the subscription Summary Effective Allowances mini panel and the Allowances lower panel.
This better aligns with the status of the allowance from an end user point of view.
3.2. Bulk Actions
3.2.1. New Bulk Actions
CMP 8.6 does not provide any new Bulk Actions.
3.2.2. Changed Bulk Actions
CMP 8.6 does not provide any enhancements to the existing Bulk Actions.
3.3. Admin Console
3.3.1. Daily Operations
New Jobs and Daemons
Archive Management Job
The new Archive Management job is responsible for optional archive and dropping of customer transaction data partitions. For CMP 8.6, the job initially focuses on the Prepaid Usage and Prepaid Usage Allowance partitions.
The job accepts a single parameter, 'Days to Retain', that represents the number of days worth of data to retain and is used to calculate a 'purge up to' date. All data prior to or on the calculated purge date is archived (if requested) and purged.
If no value is specified for the 'Days to Retain' then the module property value, archive.management.prepaid.usage.daystoretain, is used.
The job processes all partitions associated with Prepaid Usage and Prepaid Rated Usage Allowance tables.
If the archive.management.prepaid.usage.archiverequired property is set to indicate that archiving is required, then a CSV copy of the partition will be transferred to the archive directory on the archive server prior to dropping the partition.
System Activity Purge Job
A new purge job has been introduced in CMP 8.6 to purge the following system (non-business) transaction tables based on the 'Months to Retain' job parameter:
Network Request Log and Network Request Log History records where the record audit timestamp is less than or equal to the calculated purge date and the status of the associated event is 'Resolved'. Additionally, corresponding Network Activity Log records are also purged
Activity records where the record end date/time is less than or equal to the calculated purge date
Audit Header and corresponding Audit Detail records where the event time is less than or equal to the calculated purge date
The spring batch job execution record and corresponding child records where the last updated date/time is less than or equal to the calculated purge date.
Probe Alerts Daemon
In CMP 8.5, if any of the configured probes hit a configured warning or severe threshold, an email was generated to the recipient email addresses configured against the probe. This was quite limiting in being able to manage what was sent out and how.
In CMP 8.6, the alerting mechanism has been improved to provide greater flexibility for the delivery of alerts to target recipients.
Alerts are now written to an ActiveMQ queue, probeAlerts, that is then read by the installed adapter - email distribution or SNMP traps.
The Probe Alert Recipients daemon has been renamed to the Probe Alert to Generic Format daemon which no longer distributes emails directly but instead places a JSON representation of the probe alert onto the probeAlerts ActiveMQ queue.
The new Probe Alert Email Distribution Adapter replaces the email distribution functionality from the old Probe Alert Recipients daemon, consumes generic format JSON from the ActiveMQ probeAlerts queue.
Note
No values need configuring post-deployment in order for the probe alerts to function. All new module properties are configured with default values.
In addition, a new adapter has been released to allow probe alerts to be sent as SNMP traps. The Probe Alert SNMP Distribution Adapter consumes generic format JSON from the ActiveMQ probeAlerts queue and distributes probe alerts via SNMPv2c.
Note
If the SNMP adapter is deployed as part of the CMP 8.6 upgrade, two values in the SNMP distribution adapter module require post-deployment configuration in order to function correctly:
sabre-probe-alert-snmp-distribution-adapter.out.distribute.properties.host - The host address to send SNMP Traps to. This shoudl be set to the IP address of the ActiveMQ instance.
sabre-probe-alert-snmp-distribution-adapter.out.distribute.options.snmpCommunity - The SNMP community to use as authentication when sending Traps. This is typically set to "Public".
Changed Jobs
Comms Job
In CMP 8.5, if the system is unable to send a communication to a required recipient, there was no way to determine why the communication failed to be sent.
CMP 8.6 now writes the reasons for not sending a communication to the new commsRequestNotSent table. Multiple reasons can be provided for a single 'not sent' communication. A new set of reason codes must be configured to support the 'not sent' reasons.
These are documented below. If a reason code is not correctly configured then the Comms Request is updated to 'Error' and a corresponding commsRequestError record is created.
Recurring Payments (Cheque) Job
In CMP 8.6, the Recurring Cheque Payment JSON output has been updated to include the address associated with the account.
This allows the print bureau to send refund cheques directly to the end customer.
The version of the extract has been updated from version 1.1 to version 1.2.
Action Monitor Job
In CMP 8.5, a charge could optionally be applied as part of a subscription connection or upgrade, for certain network serial numbers. The charge took the form of a subscription service.
In CMP 8.6 the salesperson number that can be provided as part of the connection or upgrade request is now captured against any subscription service created for the associated network serial number.
Consumer Purge Job
The Consumer Purge job has been enhanced in CMP 8.6 to process subscription anonymity requests that have been raised via AgentView.
Anonymity requests are typically done as part of a disconnection, or shortly afterwards, where the customer requests all trace of their personal data to be removed from the system.
The Consumer Purge job handles this through a combination of record deletions and obfuscations.
In addition, the following purge jobs (and associated probes) are no longer required as the functionality within them was included within the Consumer Purge job in a previous release of CMP:
Account Purge
Address Purge
Direct Debit Purge
Payment Card Purge
Refund Purge
Data Warehouse Extract Jobs
In CMP 8.5, the data warehouse extract jobs extracted data based on the time the job is run.
This caused issues when trying to reconcile the extracts, as data in one extract may not align with the associated data in another extract because the two extracts were run at different times.
In order to avoid this situation, all data warehouse extracts now align to midnight on the previous day. This change is also available as a patch to CMP 8.5.
In addition, a number of the data warehouse extracts have had further enhancements for CMP 8.6 as follows:
The Payment Details Analytics data warehouse extract has been modified to include the error code and error description fields for any Payments.
In CMP 8.5 only the payment status was output but no failure reason for failed payments.
The version of the extract has been updated from version 1.0 to version 1.1.
In CMP 8.5, the Billed Usage Analytics data warehouse extract selected rated usage records from the Rated Usage table based on the invoice run number.
The Usage Archiving job detached partitions and therefore if an attempt was made to run the Billed Usage extract for an historical invoice run number, where rated usage had already been archived, then an empty file was produced.
The extract job has been enhanced so that it will now use the archived call data, if relevant, for the historical invoice run number.
All extracts have been enhanced to show the number of records extracted in the transaction detail of the batch audit detail record.
The 'Record Count' in the header section indicates, if successful, that a single record containing the record count has been generated.
The data extract date, that is populated at the end of a record, has been updated from a date/time format to a date format in line with the date alignment of all data warehouse extracts.
3.3.2. System Management
No changes have been made to any of the options within the System Management menu option in CMP 8.6.
3.3.3. System Monitoring
A new System Activity Purge alert probe has been introduced in CMP 8.6 to alert if the System Activity purge job has not run today.
The following probes have been deprecated in CMP 8.6:
Account Purge Batch Completed
Address Purge Batch Completed
Direct Debit Purge Batch Completed
Payment Card Purge Batch Completed
Refund Purge Batch Completed.
3.3.4. System Configuration
No changes have been made to any of the options within the System Configuration menu option in CMP 8.6 .
3.3.5. System Administration
No changes have been made to any of the options within the System Administrator menu option in CMP 8.6 .
3.4. Business Configuration
3.4.1. New Business Configuration Screens
Contracts Menu Option
CMP 8.5 provided new functionality around both subscription and agreement contracts and the ability to configure and maintain contracts, through Business Configuration, has now been introduced as part of CMP 8.6.
The new configuration screens are accessible from a new menu option, Contracts, available from the Customer Management main menu option. On selecting the Contracts menu option, the user is presented with a list of currently defined contracts.
From here it is possible to view the details of a specific contract or edit contract details.
Note
Although Add and Delete buttons are provided, these are not yet implemented and will be supported in later releases of CMP.
3.4.2. Changed Business Configuration Screens
Workflow Properties Menu Option
The Edit Workflow Event Property panel has been enhanced to include a description field for the workflow event property selected for edit. The descriptions that need to be added to the property configuration are specified below.
Network Feature Defaults - Edit Option
In CMP 8.5, the Edit option on the Network Feature Defaults List screen was not enabled.
CMP 8.6 now provides an edit capability that allows the default state of a feature to be changed between 'Enabled' and 'Disabled', or not set at all.
3.5. SOAP Web Services
3.5.1. New Web Services
No new SOAP web services have been introduced as part of the CMP 8.6 release.
3.5.2. Changed Web Services
The following changes have been made to existing SOAP web services in CMP 8.6:
The AddRegisteredCard SOAP service in CMP 8.5 allowed an external system to add a new 'Active' card, add a 'One-off' card or replace an 'Active' card with another. Additional validation has been included in the web service as follows:
The card number, card expiry year and month are now mandatory fields where CMP has direct integration to a payment provider (controlled by the GENERIC.PAYMENTS/PAYMENT.INTEGRATION system property)
The account is validated that it doesn't have an existing, non-cancelled card with the same card details as those provided in the request, or that the card reference doesn't already exist in the database
When replacing an 'Active' card, validation has been introduced to check that new card details have been provided, and are valid, and that the card being replaced is the 'Active' card on the account.
In addition a new optional field, 'Register Only', has been added to the request that, if set to 'true', allows a 'One Off Payment' to be added regardless of whether it's the first card on the account or not.
The UpdateRecurringPayments SOAP service has also been updated to make the card number, card expiry year and month mandatory fields where CMP has direct integration to a payment provider.
The CreateSubscription SOAP service has been enhanced to allow either a salesperson or sales account to be specified on the request and for the salesperson to be stored on the subscription creation workflow.
The UpdateSubscriptionSerialNumbers SOAP service has been enhanced to allow either a salesperson or sales account to be specified on the request and for the salesperson to be stored on the number change workflow.
The UpdateTariff SOAP service has been enhanced to allow either a salesperson or sales account to be specified on the request and for the salesperson to be stored on the tariff change workflow.
3.6. RESTful Web services
3.6.1. New Web Services
GET Payment Web Service
A new GET Payment RESTful web service is provided as part of CMP 8.6 that returns information for a specific payment. The payment is identified by the Payment Id supplied as part of the REST URL endpoint.
The web service will return a single payment record with any associated purchase or bond identifier depending on what the payment was for.
3.6.2. Changed Web Services
POST Features Web Service
The POST Features RESTful web service has been updated to ensure that the correct validation is carried out when a subscription has no subscription feature registered as either enabled or disabled.
If the feature has a default configured setting of Enabled or Barred and a request is made to enable it then an error message is returned. If the feature has a default setting of Disabled or Unbarred and there is a request to disable it then an error message is returned to the calling application.
3.7. Integration Adapters
No changes have been made to integration adapters in CMP 8.6.
3.8. Openet Adapter
The Openet-specific adapters are optional components of the CMP deployment that are based on the licence agreement with MDS Global.
No changes have been made to the Openet adapter as part of CMP 8.6.
3.9. Lifecycle Adapter
The Lifecycle-specific adapters are optional components of the CMP deployment that are based on the licence agreement with MDS Global.
No changes have been made to the Lifecycle adapter as part of CMP 8.6.
3.10. UK-specific Adapters
No changes have been made to UK-specific adapters in CMP 8.6.
4 - Product Fixes
In addition to functional and non-functional changes and improvements, the CMP 8.6 product also addresses a number of application support issues. This section provides a summary of the issues fixed in this release.
The following issues have been addressed within this release:
Reference
Area
Description
CMPIS-2233
Admin Console
The View User Panel was not showing the correct access levels
CMPIS-2232
Admin Console
The User List Panel was not allowing user details to be viewed
CMPIS-2229
Admin Console
The Security Level should be a mandatory parameter when creating new users
CMPIS-2219
Purge & Archive
Unable to view subscriber after it has been purged
CMPIS-2217
Security
Group Roles were missing for the agent-view-consumer-csa profile
CMPIS-2214
Hardware Orders
Issue with the milliseconds part of the UTC date format in the Sales Order Dispatch Load Daemon
CMPIS-2213
Wholesale Reconciliation
Records were not being reconciled correctly where multiple usage class codes shared the same wholesale origin and destination
CMPIS-2204
AgentView
Termination costs proposed disconnection date was being ignored
CMPIS-2202
Rated Usage Processing
Usage batch detail record not updated with derived usage class code
CMPIS-2196
Data Warehouse
Partition strategy was not implemented correctly for Data Warehouse jobs
CMPIS-2192
Standard Configuration
TERMF service is not defined as global
CMPIS-2186
Workflow Management
No consecutive actioned item numbers for Enable Feature events
CMPIS-2185
Rated Usage Processing
Rated Usage Job failed to create prepaidusage partition
Issue when either wholesale or retail records were not present in the Usage Reconciliation Batch Job
CMPIS-2180
Openet Rated Usage Adapters
CDRs with invalid record type were not handled correctly
CMPIS-2176
Data Warehouse
Usage related extracts didn't default the current date if no date was supplied
CMPIS-2172
Workflow Management
Subscription services for new subscriptions were being created incorrectly
CMPIS-2169
AgentView
Card start date was not shown on Card Details Popup
CMPIS-2168
Web Services
Cannot create Salesperson through SOAP
CMPIS-2166
Invoice Print
Bill Print Extract Daemon didn't archive files
CMPIS-2163
Admin Console
Password was visible in the External Configuration module and log files
CMPIS-2161
Admin Console
Sabre loggers endpoint was returning loggers that were not explicitly set
CMPIS-2158
AgentView
Error when creating an account with DD payment type
CMPIS-2157
AgentView
Direct Debit records were showing a Payment Type of CARD
CMPIS-2155
Web Services
The SOAP log was logging every transaction twice
CMPIS-2150
Core Provisioning
The Provisioning job was stuck at status of 'STARTED'
CMPIS-2145
AgentView
AgentView wouldn't log in if the CMP version was not stored in the DB
CMPIS-2141
AgentView
Matched Transactions panel was not showing matched transactions for payments
CMPIS-2139
Admin Console
Missing applicationGroup configuration
CMPIS-2137
Workflow Management
Connection Action failed if a recurring purchase was added before connection
CMPIS-2135
Payments
Error code and description were not populated for failed payments
CMPIS-2131
Workflow Management
Null pointer check added to Sub Contract History
CMPIS-2126
AgentView
Error when selecting a chargeable serial number in the Create Subscription wizard
CMPIS-2124
AgentView
Salesperson was not set when adding a Subscription Service
CMPIS-2123
Web Services
Salesperson was not set in the SOAP CreateSubscriptionService web service
CMPIS-2117
Workflow Management
Deadlock issue in Workflow Monitor caused by database trigger
CMPIS-2112
Openet Provisioning Adapters
Disabling a feature at account level caused an issue if one of the subs had the feature disabled already
CMPIS-2109
Openet Rated Usage Adapters
Data aggregation for CDRs with a data usage volume of 2GB and above was not handled
CMPIS-2107
Workflow Management
If enabling or disabling a feature failed, the feature status wasn't reverted
CMPIS-2105
Receipt Print
Issue with the purchase of multiple packages
CMPIS-2088
Invoice Print
Console - Billing - Unresponsive
CMPIS-2085
Purge & Archive
Consumer Purge was not obtaining the sequence number from Hazelcast
CMPIS-2082
Advance Notification
Advance Notification was not obtaining the sequence number from Hazelcast
CMPIS-2081
Payments
Recurring Payments was not obtaining the sequence number from Hazelcast
CMPIS-2077
Web Services
Unable to transfer a balance amount to a number that had previously been disconnected
CMPIS-2074
AgentView
Incorrect figures reported for Sales Ledger Adjustments
CMPIS-2061
Comms
Monetary amounts were formatted incorrectly in comms messages
CMPIS-2055
Recurring Prepayments
transactionDescriptionSummary field in the interfaceBatchDetail table had an insufficient field size
CMPIS-1999
Comms
An empty comm was sent when a comm was not configured in a subscriber's language
CMPIS-1841
Workflow Management
Actions for events above subscription level were not handled correctly where multiple subscriptions were involved
CMPIS-1748
AgentView
Post-paid Usage Cap drop down was empty for subscribers in AgentView
CMPIS-1641
Comms
The Direct Debit bean was not pulling through values for certain field codes configured
CMPIS-1607
Comms
sabre-smpp-adapter property currently hidden
CMPIS-1426
Workflow Management
Multiple records were being written for a single action by Action Monitor
CMPIS-700
Workflow Management
Action Monitor was overwrite a future subscriber's service expiry date for a disconnection action
CMPIS-455
Admin Console
The 'Number of Runs' column has been renamed to 'Recent Executions' in the Jobs list screen
5 - Documentation
5.1 - Product Documentation
The product documentation is available online on the documentation portal.
This online portal requires authorised access, which can be obtained by contacting MDS Global support.
The documentation is also available as downloadable PDFs as follows:
Document
Version
Document Changes
Installation Guide
1.0
The installation Guide has been updated to include changes that have been made to the Inventory Manager for CMP 8.6.
Technical Architecture
1.0
The Technical Architecture document has been updated to take into account the upgrade of the WSO2 version to 5.11.0.
CMP Overview
1.0
There are no updates to the CMP Overview as part of CMP 8.6.
Documentation Overview
1.0
The Documentation Overview has been updated to include the new Propositions Functionality and Configuration Guide released as part of CMP 8.6.
System Administration Guide
1.0
There are no updates to the System Administration Guide as part of CMP 8.6.
Security Guide
1.0
There are no updates to the Security Guide as part of CMP 8.6.
Communications Functionality and Configuration Guide
1.0
Changes have been made to the Communications Guide for the changes made to support the additional reason codes stored against a communication that could not be sent.
The following topics have been updated following refactoring of the extract batch job to align extracts to midnight on the previous day: Account Analytics, Agreement Analytics, Subscription Analytics, Subscription Feature Analytics Subscription Service Analytics, Transaction Detail Analytics, Invoice Detail Analytics, Payment Detail Analytics, Purchase Analytics, Billed Usage Analytics, Unbilled Usage Analytics, Prepaid Usage Analytics.
The Payment Details Analytics topic has been updated as a result of the inclusion of the Error Code and Error Description in the extract.
There are no updates to the Standard Reporting Guide as part of CMP 8.6.
Batch Jobs and JSON Schemas Guide
1.0
The Batch Jobs and JSON Schemas Guide has been updated to include the new purge and Archive Management jobs.
RESTFul Web Services API Guide
1.0
The REST web services guide has been updated in line with the changes described above.
SOAP Web Services Semantics Guide
1.0
The SOAP web services guide has been updated in line with the changes described above.
Business Configuration RESTFul Web Services API Guide
1.0
There are no updates to the Business Configuration REST Guide as part of CMP 8.6.
5.2 - Online Documentation
Online help is available in AgentView, Business Configuration, the Administration Console and the Bulk Actions console.
The following table summarises the current versions of the online help and the changes since CMP 8.5:
Online Help
Version
Document Changes
AgentView
8.6.1.0
The following topics have been updated as a result of changes made to AgentView in CMP 8.6:
Reversal of full and partial invoices, Reverse Payment, Anonymise Subscription Data, Change Payment Methods, Access Workflow Event Adjustments,
Account Summary Upper Panel, Add Credit/Debit Card Details in New Customer Wizard and Credit/Debit Card Panel, Cancel Credit Card Payments,
Comms, Create New Accounts, Create New Subscriptions with New Accounts and New Agreements, Cut a Subscription from an Account, Event Summary Sub Menu,
Financials, Maintain Credit/Debit Card Details, Subscription Summary Upper Panel, Transactions, Transfer a Live Subscription between Accounts, Work with Invoices, Workflow
Business Configuration
1.12
The following changes have resulted in changes to Business Configuration online help:
New options to list, view and edit Contracts
The description is now displayed for workflow properties
The EDit option is now available for Network Feature Defaults.
Administration Console
1.9
The admin Console help has been updated in line with the changes made to the Interfaces menu option and the jobs list.
Bulk Action Console
1.4
No changes have been made to the Bulk Action help.
6 - Release Upgrade
The CMP 8.6 installer includes the capability to upgrade a CMP 8.5 installation without the loss of configuration or customer data provided that the software, file system and database structure of the installation in question are at no point manually modified.
Important
The CMP 8.6 Installation Guide, and the details below, should be read before attempting the upgrade to CMP 8.6.
It is important that the following sections are read prior to performing the upgrade, specifically the Configuration Changes section, as it may be advisable to backup relevant configuration prior to performing the upgrade to ensure the configuration can be replicated, if necessary, post upgrade.
6.1. Upgrade Notes
The CMP 8.6 upgrade also upgrades the version of WSO2 for version 5.7.0 to version 5.11.0.
Any connections to the database from a non-CMP source e.g. a tool such as DBeaver, need to be closed prior to commencing the upgrade.
Important - HA Deployments
As result of the re-architecture of the Shared Services, in an HA installation two instances of the shared services need to be deployed on two different servers behind the load balancer.
These servers need to be configured as hosts in the Shared Services section of the Inventory Manager.
The load balancer will need to be configured, prior to the upgrade, based on the servers and port configured through the Inventory Manager.
The load balancer URL must also be defined in the Shared Services section of the Inventory Manager prior to starting the upgrade.
The upgrade will auotmatically deploy the Shared Services modules to the specified hosts.
6.2. Inventory Manager Changes
6.2.1. Shared Services Section
As part of CMP 8.6, the shared services that are used by multiple CMP applications have been re-architected so that now those applications access the shared services using RESTful APIs.
This has the advantage of simplifying the deployment of any patches to the Shared Services business logic and will require little or no downtime.
Important
In an HA deployment these REST services sit behind the loadbalancer and therefore both of the Shared Services hosts need to be defined in the Shared Services section of the Inventory Manager along with the load balancer URL.
6.2.2. SABRE Server Section
In line with the re-architecture of the CMP operational alerting mechanism as outlined above, two optional adapters are now included in the CMP 8.6 release to allow alerts to be sent via emails, as is the case in CMP 8.5, or via SNMP traps for integration with an external OSS:
sabre-probe-alert-email-distribution-adapter
sabre-probe-alert-snmp-distribution-adapter.
To continue receiving alert via emails to target recipients, sabre-probe-alert-email-distribution-adapter should be included as an option module in the "Optional Modules to Install" section of the Sabre Server configuration.
6.2.3. Other Changes
Currently the ansible installer only allows for a heap size to be specified for the sabre server but not for other applications.
The Inventory Manager has been changed as part of the CMP 8.6 release to enable the specification of the JVM heap size the following applications:
JBoss
JWS
WSO2
Shared Services
Bulk Action Console
REST
Sabre Server
Administration Console.
A dropdown has been added to the advanced properties section for each of these applications to allow for the selection of the heap size.
Warning
When choosing the minimum and maximum heap sizes for a CMP module, it is very important not to oversubscribe the available physical memory on any particular host.
As such, it is important to ensure that the sum total of the maximum heap sizes for all of the CMP modules on a particular host does not exceed the memory available to CMP on the host.
Available memory can be calculated by subtracting the memory required for all non CMP processes (e.g. the memory requirement for the OS) from the total available memory on the host itself.
In addition, new properties has been defined in the Shared Services and Common Application Properties section to specify the password of the user that is used internally within CMP for shared service and web service calls from other applications within CMP.
6.3. Third party libraries
No third-party libraries will be updated as part of the installation/upgrade.
6.4. Database Changes
6.4.1. New Tables
The following tables have been added to the database schema with respect to CMP 8.5:
SubscriptionAnonymityRequest - holds all the requests from subscribers to have their data removed from the system
CommsRequestNotSent - stores the reasons why a comm was not sent to a target.
6.4.2. New Attributes
The following table attributes have been added in CMP 8.6:
Table DiaryEventSalesLedgerAdjustment, attributes InvoiceNumber and InvoiceLineNumber.
6.4.3. Dropped Attributes
No table attributes have been dropped in CMP 8.6.
6.4.4. Modified Attributes
No table attributes have been modified in CMP 8.6.
6.5. Configuration Changes
6.5.1. Manual Configuration
As part of CMP 8.6, a number of changes specified above require additional configuration data to be added using the CMP Business Configuration. These are summarised as follows:
The changes introduced to help better identify the reason that a communication was not sent to the target recipient(s) has necessitated the configuration of an additional Reason Category and Reason Type, and Reason Codes as follows:
Reason Categories
The following new Reason Category needs to be configured through the Customer Management -> Reason Categories Business Configuration Option:
Reason Category Code
Description
COMMS
Comms Reasons
Reason Types
The following new Reason Type needs to be configured through the the Customer Management -> Reason Types Business Configuration Option:
Reason Type Code
Description
COMMNS
Comms Not Sent
Reason Codes
The following new Reason Type needs to be configured through the the Customer Management -> Reason Codes Business Configuration Option.
All codes have a category of COMMS and a linked reason type of COMMNS:
Reason Code
Description
Explanation
EM01
Email address not configured
Email targeted at the same level that the Comm was raised at. Not sent because an email address was not found at the target level.
EM02
Issue With Oldest Sub On Acct
Email targeted at oldest/longest subscription not sent because the account doesn't have a connected non-prepaid subscription with an email address.
EM03
Issue With Oldest Sub On Agrmt
Email targeted at oldest/longest subscription not sent because the agreement does not have a connected non-prepaid subscription with an email address.
EM04
Applies at Acct or Agrmt Level
Email targeted at oldest/longest subscription not sent because the Comm only applies at account and agreement levels.
EM05
Issue With Parent Sub On Acct
Email targeted at parent subscription not sent because the account doesn't have a connected non-prepaid parent subscription with an email address.
EM06
Applies at Acct Level Only
Email targeted at parent subscription not sent because the Comm only applies at.account level.
EM07
Issue With Agrmt Administrator
Email targeted at agreement administrator not sent because an administrator with.an email address was not found for the.agreement.
EM08
Does Not Apply at Agrmt Level
Email targeted at agreement administrator not sent because the Comm does not apply to the agreement level.
EM09
Sub Email Not Supported
Email targeted at subscription not sent.because this is not supported.
ON01
Issue With Oldest Sub On Acct
Online Comm targeted at oldest/longest subscription not sent because the account.doesn't have a connected non-prepaid subscription.
ON02
Issue With Oldest Sub On Agrmt
Online Comm targeted at oldest/longest subscription not sent because the agreement doesn't have a connected non-prepaid.subscription.
ON03
Applies at Acct or Agrmt Level
Online Comm targeted at oldest/longest subscription not sent because the Comm only applies at account and agreement levels.
ON04
Issue With Parent Sub On Acct
Online Comm targeted at the parent subscription not sent because the account does not have a connected non-prepaid parent subscription.
ON05
Applies at Acct Level Only
Online Comm targeted at the parent subscription not sent because the Comm applies only at account level.
ON06
Same Level Not Supported
Online Comm targeted at the same level that the Comm was raised at not sent because this is not supported.
ON07
Agrmt Admin Not Supported
Online Comm targeted at agreement administrator not sent because this is not supported.
SP01
Issue With Oldest Sub On Acct
SMS/Push targeted at oldest/longest subscription not sent because the account does not have a connected non-prepaid subscription.
SP02
Issue With Oldest Sub On Agrmt
SMS/Push targeted at oldest/longest subscription not sent because the agreement.does not have a connected non-prepaid subscription.
SP03
Applies at Acct or Agrmt Level
SMS/Push targeted at oldest/longest subscription not sent because the Comm applies only at account and agreement levels.
SP04
Issue With Agrmt Administrator
SMS/Push targeted at agreement administrator not sent because an administrator with a contact number was not found for the agreement.
SP05
Does Not Apply at Agrmt Level
SMS/Push targeted at agreement administrator not sent because the Comm doesn't apply at agreement level.
SP06
Subscription Not Connected
SMS/Push targeted at subscription not sent because the subscription is not connected.
SP07
Does Not Apply at Sub Level
SMS/Push targeted at subscription not sent because the Comm does not apply at subscription level.
SP08
Issue With Parent Sub On Acct
SMS/Push targeted at parent subscription.not sent because the account does not have a connected non-prepaid parent subscription.
SP09
Applies at Acct Level Only
SMS/Push targeted at parent subscription.not sent because the Comm applies at account level only.
SP10
Same Level Not Supported
SMS/Push targeted at the same level as the Comm was raised at not sent because this is not supported.
UN01
Unsupported delivery method
Comm not sent because the delivery method is not supported.
System Properties
A new system property has been introduced to indicate whether AgentView has direct integrated to a Payment Provider to take a payments via redirection. The Property Group is GENERIC.PAYMENTS and the Property Name is PAYMENT.INTEGRATION. If property value is set to 'True', then this indicates there is direct payment integration via AgentView. The property can be configured through the External Configuration Module property configuration.
Workflow Event Properties
The introduction of support for invoice reversals requires new workflow event property configuration through the System -> Workflow Properties Business Configuration option. The following new properties are required if one-payment notifications are to be supported:
Property Group
Property Name
Event Type
Event Code
FINANCIAL
invoice.reversal.event
AAAM
SLAD
6.5.2. Standard Data Population
As part of CMP 8.6, the standard data population scripts used to auto-populate a number of CMP configuration tables for a greenfield installation have been updated. For existing installations, this configuration will need to be manually injected into the appropriate database table:
These updates should be taken into consideration when upgrading an existing CMP 8.5 environment.
Payment Type Table (COC5REP)
In CMP 8.5 all payments and registered cards are stored with a payment type of CARD. This doesn't provide enough information to identify the specific type of card being used e.g. Mastercard, Visa etc, which would allow for easier identification of a specific card by an agent.
In CMP 8.6, it is now possible to specify the type of card being used for a purchase, a payment and when registering and storing a card in CMP either through AgentView or via the web services.
Note
When adding a new payment type for card payments the Processing Type should be set to '4' so that these new payment types cannot be selected when creating new accounts or changing an account payment type through AgentView. The existing 'CARD' option (with processing type not set to '4') is required to provide a default non-specific card option which is available for selection within AgentView
The changes introduced to help better identify the reason that a communication was not sent to the target recipient(s) has necessitated the configuration of additional Reason Codes Properties as follows:
As part of the CMP 8.5 release a description field was introduced onto the Workflow Event Properties table (diaryEventProperties) to explain each of the workflow event properties. In CMP 8.6, these descriptions are now exposed through the Business Configuration Workflow Event Properties Edit option. As a result, the following descriptions will need to be manually added to the workflow event properties table (diaryEventProperties):
Property Group
Property Name
Description
ACCOUNT_CREATION
ACCOUNT.CREATION.EVENT
Raised on successful creation of a CMP account.
ADDRESS
ADDRESS.CHANGE
Raised when the personal or business address is changed on a CMP hierarchical entity.
ADDRESS
EMAIL.CHANGE
Raised when an email address is added or changed on a CMP hierarchical entity.
ADVANCE_NOTIFICATION
agreement.contract.expire
Raised by the Advanced Notification job when an agreement contract is due to expire.
ADVANCE_NOTIFICATION
card.expire
Raised by the Advanced Notification job when a credit or debit card held on the account is due to expire.
ADVANCE_NOTIFICATION
next.payment.date
Raised by the Advanced Notification job when the next recurring payment is due.
ADVANCE_NOTIFICATION
recurring.prepayment.balance
Raised by the Advanced Notification job when a recurring prepayment taken from a prepaid balance is due.
ADVANCE_NOTIFICATION
recurring.prepayment.card
Raised by the Advanced Notification job when a recurring prepayment taken from a credit or debit card is due.
ADVANCE_NOTIFICATION
subscription.contract.expire
Raised by the Advanced Notification job when a subscription contract is due to expire.
BULK_ACTION
bulk.sales.ledger.adjustment.event
Raised to record that a sales ledger adjustment has been made to an account through a bulk action.
COMMS
commsrequest.job.notsent.event
Raised when a comms notification is not successfully sent to the target recipient.
CREDIT_CONTROL
creditcontrol.job.autoTerminationEvent
Raised when an account moves out of credit control because its account type has changed to an account type that is not linked to the Credit Control Procedure that the Account is on.
CREDIT_CONTROL
creditcontrol.job.resettingEvent
Raised when the Credit Control Job resets any IgnoreCCProcedure flags on accounts where the IgnoreUpToDate is in the past.
DEVICE_ENROLMENT
complete.error
Raised when there is an error in enrolling a device with the Device Enrolment Provider.
DEVICE_ENROLMENT
complete.success
Raised when a device has been successfully enrolled with the Device Enrolment Provider.
DEVICE_ENROLMENT
return.complete.failure
Raised when a device has been returned and failed unenrolment from the Device Enrolment Provider.
DEVICE_ENROLMENT
return.complete.success
Raised when a device has been returned and successfully unenrolled from the Device Enrolment Provider.
DIRECT_DEBIT
direct.debit.change.event
Raised when Direct Debit details are changed.
FINANCIAL
ADD.REFUND
Raised when a refund is added to an account.
FINANCIAL
CHANGE.PAYMENT
Raise when payment details are changed.
PAYMENTS
nonrecurringpayments.job.paymentreceived.event
Raised when a one-off payment is received from an external payment provider.
PAYMENTS
oneoffpaymentreceivedfail.event
Raised when a failed payment is record in CMP or where a redirect payment fails.
PAYMENTS
oneoffpaymentreceivedsuccess.event
Raised when a successful payment is record in CMP or where a redirect payment succeeds.
PROVISIONING
expire.package.event
Raised when a recurring package is ended.
SALESORDER
cancel.order
Raised when an order is cancelled.
SALESORDER
dispatch.cancelled.order
Raised where an order is cancelled in CMP when the status was Awaiting Order Dispatch i.e. the sales order request was already sent to the warehouse.
SALESORDER
order.dispatch.error
Raised against the Order Account if an error status is returned from the warehouse or if an error is encounter during processing.
TERMINATION
termination.calc.account.event
Raised when a termination fee calculation is performed at account level.
TERMINATION
termination.calc.agreeement.event
Raised when a termination fee calculation is performed at agreement level.
TERMINATION
termination.calc.subscription.event
Raised when a termination fee calculation is performed at agreement or account level and records the termination fee for that specific subscription.
Function Security Table (roleDiseFunctionName)
Previous releases of CMP have introduced new functionality that was missing the ability to control access based on a user's role. CMP 8.6 introduces the following new role-based function security that needs to be added to the function security table (roleDiseFunctionName):